// 电商接口

const express = require('express');
const bodyParser = require('body-parser');

const app = express();

// 假数据
const goodlist = [];
for(let i=0;i<10;i++){
    const gooditem = {
        id:'gid_'+i,
        name:'gooditem'+i,
        price:'$'+parseInt(Math.random()*1000),
        imgurl:`./img/gooditem_${i}.jpg`
    }
    goodlist.push(gooditem);
}

// 静态资源服务器
app.use(express.static('./'));

// 接口设置
/* 1.商品列表 */
app.get('/goodlist',(req,res,next)=>{
    // console.log('goodlist');     // 输入(http://localhost:2003/goodlist)测试是否有响应
    res.send(goodlist);
});

/* 2.单个商品 */
app.get('/gooditem/:idx',(req,res)=>{

    // 获取变量idx
    let {idx} = req.params;
    // 筛选符合的gid并返回给前端
    let gooditem = goodlist.filter(item=>item.id==idx);
    res.send(gooditem);
})

/* 3.登录 */
app.post('/login',bodyParser.urlencoded({ extended: false }),(req,res)=>{

    let {username,password} = req.body;

    // 假数据
    let user = {
        username:"kuiya",
        password:"123456"
    }

    // 查询数据库
    if(username==user.username&&password==user.password){
        res.send({
            code:1,
            msg:'success',
            data:[]
        })
    }else{
        res.send({
            code:0,
            msg:'fail',
            data:[]
        })
    }
})

/* 4.注册 */
/* 
    bodyParser.urlencoded()：解析req.body请求头数据，解析成功则覆盖req.body，失败则返回{}，该模块下的extended属性为使用指定模块来解析数据：true为qs(第三方模块)，false为querystring模块(nodejs内置模块之一)，默认为true
*/
app.post('/reg',bodyParser.urlencoded({ extended: false }),(req,res)=>{
    let {username,password} = req.body;

    // 假数据
    let user = {
        username:'kuiya'
    }

    if(username==user.username){
        res.send({
            code:0,
            msg:'fail',
            data:[]
        })
    }else{
        res.send({
            code:1,
            msg:'success',
            data:[]
        })
    }
})

app.listen(2003,()=>{
    console.log("port 2003 is running");
})